const allowOrigins = ['http://127.0.0.1:5500', 'null'];

module.exports = function (req, res, next) {
  //处理预检请求
  if (req.method === 'OPTIONS') {
    res.header(
      `Access-Control-Allow-Methods`,
      req.headers['access-control-request-method']
    );
    res.header(
      `Access-Control-Allow-Headers`,
      req.headers['access-control-request-headers']
    );
  }

  // 允许请求 附带凭证 浏览器判断这个 就会让 跨域带 cookie的请求允许跨域
  res.header('Access-Control-Allow-Credentials', true);

  // 另外要特别注意的是：对于附带身份凭证的请求，服务器不得设置 Access-Control-Allow-Origin 的值为*。这就是为什么不推荐使用*的原因

  //处理简单请求 和 预检请求
  if ('origin' in req.headers && allowOrigins.includes(req.headers.origin)) {
    res.header('access-control-allow-origin', req.headers.origin);
  }
  next();
};
